同時性が安全ではない操作
このセクションのすべてのメンバー関数は、シリアルにのみ実行できます。これらのメンバー関数を (同時処理の安全性が保障される) 他のメソッドと同時に実行する場合、動作は未定義です。
予約
void reserve( size_type n );少なくとも
n
要素のメモリーを予約します。スロー
n > max_size()
の場合、std::length_error
。
リサイズ
void resize( size_type n );
n < size()
の場合、ベクトルは最初のn
個の要素に縮小されます。それ以外は、ベクトルの最後に
n - size()
の新しい要素をデフォルト構築のインプレースで追加します。
void resize( size_type n, const value_type& value );
n < size()
の場合、ベクトルは最初のn
個の要素に縮小されます。それ以外は、ベクトルの最後に
value
のn - size()
個のコピーを追加します。
shrink_to_fit
void shrink_to_fit();未使用のベクトルを削除します。
このメソッドを呼び出すと、メモリー内の内部ベクトル表現を再編成できます。
clear
void clear();コンテナーからすべての要素を削除します。
swap
void swap( concurrent_vector& other ) noexcept(/*See below*/);
*this
とother
の内容を入れ替えます。
std::allocator_traits<allocator_type>::propagate_on_container_swap::value
がtrue
の場合、アロケーターを入れ替えます。そうでない場合、
get_allocator() != other.get_allocator()
の動作は未定義です。例外: 具体的に
noexcept
は以下です。noexcept(std::allocator_traits<allocator_type>::propagate_on_container_swap::value || std::allocator_traits<allocator_type>::is_always_equal::value